home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / cci / itmlist.cci < prev    next >
Text File  |  1993-11-30  |  2KB  |  93 lines

  1. /*************************************************************************
  2. *    "itmlist.cci" : アイテム登録テスト
  3. *-------------------------------------------------------------------------
  4. *     カレントドライブ上のアイテム登録データファイル(TMENU.ITM)内の,
  5. *    アイテム登録情報を表示する。
  6. *
  7. *    ※    コマンドモードで動作する
  8. *************************************************************************/
  9.  
  10. #include    "ccilib.h"
  11.  
  12. char    ItmPath[256];
  13.  
  14. char    *ItemTypeName[5] = 
  15. {
  16.     "header",
  17.     "group",
  18.     "application",
  19.     "V1.1",
  20.     "directory"
  21. };
  22.  
  23. /*************************************************************************
  24. *    空白を表示
  25. *************************************************************************/
  26.  
  27. int        dspspc( int level )
  28. {
  29.     int        i;
  30.     for ( i = 0; i < level; ++i )
  31.     {
  32.         putchar(' ');
  33.         putchar(' ');
  34.     }
  35. }
  36.  
  37. int        item_list_all()
  38. {
  39.     int            ret;
  40.     int            stair, fpos, nextFPos;
  41.     int            etyNum;
  42.     short        icnNum;
  43.     char        ttlStr[128];
  44.     char        pathStr[128];
  45.     char        paraStr[128];
  46.     int            atrInf;
  47.     int            nextFPos;
  48.     short        frm[4];
  49.  
  50.     sprintf( ItmPath, "%c:\\tmenu.itm", FS_getdrv()+'A');
  51.  
  52.     fpos = 0;
  53.     for(;;)
  54.     {
  55.         ret = ITM_GetItmType( ItmPath, fpos );
  56.         stair = ITM_GetStair( ItmPath, fpos );
  57.         printf("#%5d : " ,fpos );    dspspc(stair);
  58.         switch ( ret )
  59.         {
  60.             case 0:
  61.                 printf("Header");
  62.                 break;
  63.             case 1:
  64.                 printf("Group item");
  65.                 ITM_GetGrpData(ItmPath,fpos,&etyNum,&icnNum,ttlStr,&atrInf,frm);
  66.                 printf(" item num %4d, title:%s",etyNum, ttlStr );
  67.                 break;
  68.             case 2:
  69.                 printf("Application item");
  70.                 ITM_GetAplData(ItmPath,fpos,&icnNum,ttlStr,pathStr,paraStr,atrInf,frm);
  71.                 printf(" title:%s ", ttlStr );
  72.                 break;
  73.             case 3:
  74.                 printf("V1.1 group item");
  75.                 break;
  76.             case 4:
  77.                 printf("Directory item");
  78.                 break;
  79.         }
  80.         putchar('\n');
  81.         nextFPos = ITM_GetPhysclNextFPos( ItmPath, fpos );
  82.         if ( nextFPos < 0 )
  83.             break;
  84.         fpos = nextFPos;
  85.     }
  86. }
  87.  
  88. int        main( int argc, char **argv )
  89. {
  90.     item_list_all();
  91. }
  92.  
  93.